﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using mvcForum.Core.Abstractions;
using mvcForum.Core;
using mvcForum.Core.Interfaces.Data;

namespace mvcForum.AddOns.ContentParsing.MarkDown {

	public class MarkDownConfiguration : AddOnConfiguration<MarkDownParser> {

		public MarkDownConfiguration(IRepository<AddOnConfiguration> configRepo) : base(configRepo) { }

		private static class Keys {
			public const String QuoteBefore = "QuoteBefore";
			public const String QuoteAfter= "QuoteAfter";
			public const String ParagraphBefore = "ParagraphBefore";
			public const String ParagraphAfter = "ParagraphAfter";
			public const String CodeBefore = "CodeBefore";
			public const String CodeAfter = "CodeAfter";
			public const String Quote = "Quote";
		}

		public String CodeAfter {
			get {
				return this.GetString(Keys.CodeAfter);
			}
			set {
				this.Set(Keys.CodeAfter, value);
			}
		}

		public String CodeBefore {
			get {
				return this.GetString(Keys.CodeBefore);
			}
			set {
				this.Set(Keys.CodeBefore, value);
			}
		}

		public String Quote {
			get {
				return this.GetString(Keys.Quote);
			}
			set {
				this.Set(Keys.Quote, value);
			}
		}

		public String QuoteAfter {
			get {
				return this.GetString(Keys.QuoteAfter);
			}
			set {
				this.Set(Keys.QuoteAfter, value);
			}
		}

		public String QuoteBefore {
			get {
				return this.GetString(Keys.QuoteBefore);
			}
			set {
				this.Set(Keys.QuoteBefore, value);
			}
		}

		public String ParagraphAfter {
			get {
				return this.GetString(Keys.ParagraphAfter);
			}
			set {
				this.Set(Keys.ParagraphAfter, value);
			}
		}

		public String ParagraphBefore {
			get {
				return this.GetString(Keys.ParagraphBefore);
			}
			set {
				this.Set(Keys.ParagraphBefore, value);
			}
		}
	}
}